<?php

namespace app\common\model;

/**
 * 通知模型类
 * 用于处理通知相关的数据操作
 */
class Notice extends BaseModel
{
    // 设置表名
    protected $name = 'notice';

    // 设置字段验证规则
    protected $schema = [
        'id'          => 'int',      // 通知ID
        'title'       => 'string',   // 通知标题
        'content'     => 'text',     // 通知内容
        'create_time' => 'datetime', // 创建时间
        'update_time' => 'datetime', // 更新时间
        'delete_time' => 'datetime', // 删除时间
    ];

    /**
     * 获取启用状态的通知列表
     * @param array $where 查询条件
     * @param array $order 排序规则
     * @return array|	hink\Collection 通知列表
     */
    public function getNoticeList($where = [], $order = ['create_time' => 'desc'])
    {
        // 默认查询启用状态的通知
        if (!isset($where['delete_time'])) {
            $where['delete_time'] = null;
        }

        return $this->where($where)->order($order)->select();
    }

    /**
     * 根据ID获取通知详情
     * @param int $id 通知ID
     * @return array|null 通知详情
     */
    public function getNoticeById($id)
    {
        return $this->where('id', $id)->where('delete_time', null)->find();
    }
}
